package com.codefish.codefishseckill.service;

import com.codefish.codefishseckill.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 * 用户信息表 服务类
 * </p>
 *
 * @author codefish
 * @since 2022-07-05
 */
public interface UserService extends IService<User> {

    String USER_INFO_TOKEN_PREFIX = "userInfo:";

    /**
     * 验证登录是否成功
     * @param username 用户名
     * @param password 密码
     * @return 用户登录结果
     */
    boolean doLogin(Long username, String password, HttpServletRequest request, HttpServletResponse response);

    /**
     * 根据token从redis中获取用户信息
     * @param token 用户传入的token
     * @return 用户信息
     */
    User getUserByToken(String token);

    /**
     * 根据email从数据库获取用户信息
     *
     * @param email 邮箱
     * @return 用户信息
     */
    User getUserByEmail(String email);
}
